<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // 当前函数的执行对象

    function fn(){
        console.log(this);
    }

    var obj1 = {name:"obj1"};
    obj1.abc = fn;
    // 从属于某个对象的函数，被当前对象执行，this就是当前执行对象
    obj1.abc();     // obj1

    // 从属于某个对象的函数，被当前对象执行，this就是当前执行对象
    document.onclick = fn;       // document

    // 没有明确隶属对象的函数被直接执行，this指向window
    fn();           // window

    window.fn();    // window

    var a = obj1.abc;
    // 没有明确隶属对象的函数被直接执行，this指向window
    a();            // window

    var obj2 = {
        name:"obj2",
        qwe:function(b){
            // 没有明确隶属对象的函数被直接执行，this指向window
            b();    // window
        }
    }

    obj2.qwe( obj1.abc );       // 里面没this

    
</script>
</html>